package com.yigo.toc.infra.repo.dataobject;

import com.baomidou.mybatisplus.annotation.IdType;
import com.tangzc.mpe.autotable.annotation.Column;
import com.tangzc.mpe.autotable.annotation.ColumnId;
import com.tangzc.mpe.autotable.annotation.Table;
import com.tangzc.mpe.autotable.strategy.mysql.data.MysqlTypeConstant;
import com.yigo.framework.base.BasePO;
import lombok.Data;

/**
 * @author chenzl
 */
@Data
@Table(value = "toc_tc_address", comment = "订单地址表")
public class TocOrderAddressPO extends BasePO {
    /**
     * id主键
     */
    @ColumnId(mode = IdType.ASSIGN_ID, comment = "id主键", type = MysqlTypeConstant.BIGINT, length = 20)
    private Long id;
    @Column(comment = "头表id", length = 20, notNull = true)
    private Long headId;

    @Column(comment = "收货人姓名", length = 20, notNull = true)
    private String receiverName;

    @Column(comment = "收货人手机号", length = 20, notNull = true)
    private String receiverMobile;

    @Column(comment = "收货人一级地址编码", length = 20, notNull = true)
    private String receiverLvl1AddressCode;

    @Column(comment = "收货人一级地址名称", length = 20, notNull = true)
    private String receiverLvl1AddressName;

    @Column(comment = "收货人二级地址编码", length = 20, notNull = true)
    private String receiverLvl2AddressCode;

    @Column(comment = "收货人二级地址名称", length = 20, notNull = true)
    private String receiverLv21AddressName;

    @Column(comment = "收货人三级地址编码", length = 20, notNull = true)
    private String receiverLvl3AddressCode;

    @Column(comment = "收货人三级地址名称", length = 20, notNull = true)
    private String receiverLvl3AddressName;

    @Column(comment = "收货人四级地址编码", length = 20, notNull = true)
    private String receiverLvl4AddressCode;

    @Column(comment = "收货人四级地址名称", length = 20, notNull = true)
    private String receiverLvl4AddressName;

    @Column(comment = "收货人详细地址", length = 200, notNull = true)
    private String receiverDetailAddress;
    /**
     * 收货人完整地址，各级地址名称+详细地址
     */
    @Column(comment = "收货人完整地址，各级地址名称+详细地址", length = 400, notNull = true)
    private String receiverFullAddressName;
    /**
     * JSON格式字段，存储次要信息
     */
    @Column(comment = "扩展信息", length = 2000, notNull = false)
    private String extInfo;

    @Column(comment = "备注", length = 200, notNull = false)
    private String remark;
}
